.\" -*- nroff -*-
.\" Copyright (c) 2015      University of Houston.  All rights reserved.
.\" Copyright (c) 2015      Mellanox Technologies, Inc.
.\" $COPYRIGHT$
.de Vb
.ft CW
.nf
..
.de Ve
.ft R

.fi
..
.TH "SHMEM\\_INC" "3" "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME

\fIshmem_int4_inc\fP(3),
\fIshmem_int8_inc\fP(3),
\fIshmem_int_inc\fP(3),
\fIshmem_long_inc\fP(3),
\fIshmem_longlong_inc\fP(3)
\- These routines perform an atomic increment operation on a remote data object.
.SH SYNOPSIS

C or C++:
.Vb
#include <mpp/shmem.h>

int shmem_int_inc(int *target, int pe);

long shmem_long_inc(long *target, int pe);

long long shmem_longlong_inc(long long *target, int pe);
.Ve
Fortran:
.Vb
INCLUDE "mpp/shmem.fh"

INTEGER pe
INTEGER(KIND=4) SHMEM_INT4_INC, target4
INTEGER(KIND=8) SHMEM_INT8_INC, target8

ires4 = SHMEM_INT4_INC(target4, pe)

ires8 = SHMEM_INT8_INC(target8, pe)
.Ve
.SH DESCRIPTION

The atomic increment routines replace the value of \fBtarget\fP
with its value incremented by
one. The operation must be completed without the possibility of another process updating
\fBtarget\fP
between the time of the fetch and the update.
.PP
The arguments are as follows:
.TP
target
The remotely accessible integer data object to be updated on the remote PE. The
type of target should match that implied in the SYNOPSIS section.
.TP
pe
An integer that indicates the PE number upon which target is to be updated. If you
are using Fortran, it must be a default integer value.
.PP
.SH NOTES

The term remotely accessible is defined in \fIintro_shmem\fP(3)\&.
.SH RETURN VALUES

None.
.SH SEE ALSO

\fIintro_shmem\fP(3)
